Back to Experience

ENGINEERING PORTFOLIO

Technical Experience

My studies at UBC have given me the opportunity to explore a wide range of engineering disciplines beyond my larger projects. Through university labs and coursework, I have gained hands-on experience with robotic manipulators, ROS 2, neural networks, and computer vision. This page highlights some of that work, along with the skills I am continuing to develop.

TECHNICAL EXPERIENCE 01

Quanser 4-DOF Robotic Arm

University Lab · ELEC 442

Robotics · Manipulator Kinematics · Robot Control

Experience Overview

Through my Intro to Robotics coursework, I have had the opportunity to work with a Quanser 4-DOF robotic arm and explore the forward, inverse, and velocity kinematics used to describe and control its motion. Working with a physical manipulator has helped me connect the theory to the practical challenges of getting a robot to move as intended.

Applying What I've Learned

This experience has also given me ideas for my own 4-DOF servo robot arm project, where I am working toward applying similar kinematic models to a lower-cost, custom-built manipulator. When my professor offered an optional project opportunity alongside the course, I was keen to take it on. You can find more about that project on my Smaller Projects page.

TECHNICAL EXPERIENCE 02

ROS 2 & Robot Control

Coursework · ENPH 353

ROS 2 · Python · OpenCV · Gazebo Simulation

Experience Overview

Through ENPH 353, I have been working with ROS 2 to control a simulated robot using camera input. My line-following implementation uses a Python node to process the robot's camera feed and determine the movement commands needed to follow a line.

Implementation & Testing

The node subscribes to /camera/image_raw and publishes velocity commands to /cmd_vel. Using Gazebo to simulate the robot has given me practical experience with ROS topics, camera-based feedback, and the process of testing and refining robot behaviour in response to sensor input.

I am continuing to build my understanding of reliable robot control and how image processing can be used to guide a robot's movement.

TECHNICAL EXPERIENCE 03

Neural Networks & Computer Vision

Coursework · ENPH 353

Python · Machine Learning · Neural Networks · CNNs · Computer Vision

Experience Overview

As part of my ENPH 353 coursework, I have trained both neural networks and convolutional neural networks (CNNs), exploring how models can learn patterns from data and apply them to recognition tasks. This has given me practical experience with machine-learning workflows while developing my programming and computer-vision skills.

Applying Machine Learning

One application has been extending our simulated line-following robot to use a neural network to determine its movement from visual input, rather than relying solely on manually defined image-processing rules. This has introduced me to how learning-based approaches can be applied to robot control.

I have also developed a CNN-based license-plate recognition workflow for a flock camera lab. This involves generating synthetic license-plate images and training a CNN to identify the characters on each plate. The confusion matrix shown alongside the project provides a way to evaluate how accurately the model classifies those characters.

These projects contribute to our broader ENPH 353 work, including a semester-end autonomous robot competition where our simulated robots must identify clues and complete tasks in Gazebo. I am continuing to build my understanding of model training, image processing, and the practical limitations of these approaches.